import matplotlib.pyplot as plt
import sys

# 检查命令行参数
if len(sys.argv) != 2:
    print("Usage: python script.py <log_file>")
    sys.exit(1)

# 获取日志文件路径
log_file = sys.argv[1]

# 读取日志文件
try:
    with open(log_file, 'r') as file:
        log_data = file.read()
except FileNotFoundError:
    print(f"Error: File '{log_file}' not found.")
    sys.exit(1)

# 解析日志数据
lines = log_data.strip().split('\n')
time = []  # 时间（秒）
bandwidth = []  # 流量（kB/s）

for line in lines:
    parts = line.split(',')
    time.append(int(parts[0]) / 1000)  # 将毫秒转换为秒
    bandwidth.append(int(parts[1]))  # 流量（kB/s）

# 绘制曲线图
plt.figure(figsize=(10, 6))
plt.plot(time, bandwidth, marker='o', linestyle='-', color='b')
plt.title('Bandwidth Curve')
plt.xlabel('Time (s)')
plt.ylabel('Bandwidth (kB/s)')
plt.grid(True)

# 设置坐标轴最小值为 0
plt.xlim(left=0)  # 横坐标最小值为 0
plt.ylim(bottom=0)  # 纵坐标最小值为 0

# 保存为 PNG 文件
output_file = log_file.replace('.log', '_bandwidth_curve.png')
plt.savefig(output_file, dpi=300, bbox_inches='tight')
print(f"Bandwidth curve saved to '{output_file}'")
#plt.show()